package com.fc.mall.model;

import java.util.ArrayList;
import java.util.List;

public class SmsIntegrationSettingExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SmsIntegrationSettingExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIntegralSwIsNull() {
            addCriterion("integral_sw is null");
            return (Criteria) this;
        }

        public Criteria andIntegralSwIsNotNull() {
            addCriterion("integral_sw is not null");
            return (Criteria) this;
        }

        public Criteria andIntegralSwEqualTo(Short value) {
            addCriterion("integral_sw =", value, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwNotEqualTo(Short value) {
            addCriterion("integral_sw <>", value, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwGreaterThan(Short value) {
            addCriterion("integral_sw >", value, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwGreaterThanOrEqualTo(Short value) {
            addCriterion("integral_sw >=", value, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwLessThan(Short value) {
            addCriterion("integral_sw <", value, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwLessThanOrEqualTo(Short value) {
            addCriterion("integral_sw <=", value, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwIn(List<Short> values) {
            addCriterion("integral_sw in", values, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwNotIn(List<Short> values) {
            addCriterion("integral_sw not in", values, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwBetween(Short value1, Short value2) {
            addCriterion("integral_sw between", value1, value2, "integralSw");
            return (Criteria) this;
        }

        public Criteria andIntegralSwNotBetween(Short value1, Short value2) {
            addCriterion("integral_sw not between", value1, value2, "integralSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwIsNull() {
            addCriterion("trade_sw is null");
            return (Criteria) this;
        }

        public Criteria andTradeSwIsNotNull() {
            addCriterion("trade_sw is not null");
            return (Criteria) this;
        }

        public Criteria andTradeSwEqualTo(Short value) {
            addCriterion("trade_sw =", value, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwNotEqualTo(Short value) {
            addCriterion("trade_sw <>", value, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwGreaterThan(Short value) {
            addCriterion("trade_sw >", value, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwGreaterThanOrEqualTo(Short value) {
            addCriterion("trade_sw >=", value, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwLessThan(Short value) {
            addCriterion("trade_sw <", value, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwLessThanOrEqualTo(Short value) {
            addCriterion("trade_sw <=", value, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwIn(List<Short> values) {
            addCriterion("trade_sw in", values, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwNotIn(List<Short> values) {
            addCriterion("trade_sw not in", values, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwBetween(Short value1, Short value2) {
            addCriterion("trade_sw between", value1, value2, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeSwNotBetween(Short value1, Short value2) {
            addCriterion("trade_sw not between", value1, value2, "tradeSw");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateIsNull() {
            addCriterion("trade_exchange_rate is null");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateIsNotNull() {
            addCriterion("trade_exchange_rate is not null");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateEqualTo(Short value) {
            addCriterion("trade_exchange_rate =", value, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateNotEqualTo(Short value) {
            addCriterion("trade_exchange_rate <>", value, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateGreaterThan(Short value) {
            addCriterion("trade_exchange_rate >", value, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateGreaterThanOrEqualTo(Short value) {
            addCriterion("trade_exchange_rate >=", value, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateLessThan(Short value) {
            addCriterion("trade_exchange_rate <", value, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateLessThanOrEqualTo(Short value) {
            addCriterion("trade_exchange_rate <=", value, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateIn(List<Short> values) {
            addCriterion("trade_exchange_rate in", values, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateNotIn(List<Short> values) {
            addCriterion("trade_exchange_rate not in", values, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateBetween(Short value1, Short value2) {
            addCriterion("trade_exchange_rate between", value1, value2, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andTradeExchangeRateNotBetween(Short value1, Short value2) {
            addCriterion("trade_exchange_rate not between", value1, value2, "tradeExchangeRate");
            return (Criteria) this;
        }

        public Criteria andInviteSwIsNull() {
            addCriterion("invite_sw is null");
            return (Criteria) this;
        }

        public Criteria andInviteSwIsNotNull() {
            addCriterion("invite_sw is not null");
            return (Criteria) this;
        }

        public Criteria andInviteSwEqualTo(Short value) {
            addCriterion("invite_sw =", value, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwNotEqualTo(Short value) {
            addCriterion("invite_sw <>", value, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwGreaterThan(Short value) {
            addCriterion("invite_sw >", value, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwGreaterThanOrEqualTo(Short value) {
            addCriterion("invite_sw >=", value, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwLessThan(Short value) {
            addCriterion("invite_sw <", value, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwLessThanOrEqualTo(Short value) {
            addCriterion("invite_sw <=", value, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwIn(List<Short> values) {
            addCriterion("invite_sw in", values, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwNotIn(List<Short> values) {
            addCriterion("invite_sw not in", values, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwBetween(Short value1, Short value2) {
            addCriterion("invite_sw between", value1, value2, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteSwNotBetween(Short value1, Short value2) {
            addCriterion("invite_sw not between", value1, value2, "inviteSw");
            return (Criteria) this;
        }

        public Criteria andInviteRateIsNull() {
            addCriterion("invite_rate is null");
            return (Criteria) this;
        }

        public Criteria andInviteRateIsNotNull() {
            addCriterion("invite_rate is not null");
            return (Criteria) this;
        }

        public Criteria andInviteRateEqualTo(Short value) {
            addCriterion("invite_rate =", value, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateNotEqualTo(Short value) {
            addCriterion("invite_rate <>", value, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateGreaterThan(Short value) {
            addCriterion("invite_rate >", value, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateGreaterThanOrEqualTo(Short value) {
            addCriterion("invite_rate >=", value, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateLessThan(Short value) {
            addCriterion("invite_rate <", value, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateLessThanOrEqualTo(Short value) {
            addCriterion("invite_rate <=", value, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateIn(List<Short> values) {
            addCriterion("invite_rate in", values, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateNotIn(List<Short> values) {
            addCriterion("invite_rate not in", values, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateBetween(Short value1, Short value2) {
            addCriterion("invite_rate between", value1, value2, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andInviteRateNotBetween(Short value1, Short value2) {
            addCriterion("invite_rate not between", value1, value2, "inviteRate");
            return (Criteria) this;
        }

        public Criteria andShareSwIsNull() {
            addCriterion("share_sw is null");
            return (Criteria) this;
        }

        public Criteria andShareSwIsNotNull() {
            addCriterion("share_sw is not null");
            return (Criteria) this;
        }

        public Criteria andShareSwEqualTo(Short value) {
            addCriterion("share_sw =", value, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwNotEqualTo(Short value) {
            addCriterion("share_sw <>", value, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwGreaterThan(Short value) {
            addCriterion("share_sw >", value, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwGreaterThanOrEqualTo(Short value) {
            addCriterion("share_sw >=", value, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwLessThan(Short value) {
            addCriterion("share_sw <", value, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwLessThanOrEqualTo(Short value) {
            addCriterion("share_sw <=", value, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwIn(List<Short> values) {
            addCriterion("share_sw in", values, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwNotIn(List<Short> values) {
            addCriterion("share_sw not in", values, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwBetween(Short value1, Short value2) {
            addCriterion("share_sw between", value1, value2, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareSwNotBetween(Short value1, Short value2) {
            addCriterion("share_sw not between", value1, value2, "shareSw");
            return (Criteria) this;
        }

        public Criteria andShareRateIsNull() {
            addCriterion("share_rate is null");
            return (Criteria) this;
        }

        public Criteria andShareRateIsNotNull() {
            addCriterion("share_rate is not null");
            return (Criteria) this;
        }

        public Criteria andShareRateEqualTo(Short value) {
            addCriterion("share_rate =", value, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateNotEqualTo(Short value) {
            addCriterion("share_rate <>", value, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateGreaterThan(Short value) {
            addCriterion("share_rate >", value, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateGreaterThanOrEqualTo(Short value) {
            addCriterion("share_rate >=", value, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateLessThan(Short value) {
            addCriterion("share_rate <", value, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateLessThanOrEqualTo(Short value) {
            addCriterion("share_rate <=", value, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateIn(List<Short> values) {
            addCriterion("share_rate in", values, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateNotIn(List<Short> values) {
            addCriterion("share_rate not in", values, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateBetween(Short value1, Short value2) {
            addCriterion("share_rate between", value1, value2, "shareRate");
            return (Criteria) this;
        }

        public Criteria andShareRateNotBetween(Short value1, Short value2) {
            addCriterion("share_rate not between", value1, value2, "shareRate");
            return (Criteria) this;
        }

        public Criteria andSignSwIsNull() {
            addCriterion("sign_sw is null");
            return (Criteria) this;
        }

        public Criteria andSignSwIsNotNull() {
            addCriterion("sign_sw is not null");
            return (Criteria) this;
        }

        public Criteria andSignSwEqualTo(Short value) {
            addCriterion("sign_sw =", value, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwNotEqualTo(Short value) {
            addCriterion("sign_sw <>", value, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwGreaterThan(Short value) {
            addCriterion("sign_sw >", value, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwGreaterThanOrEqualTo(Short value) {
            addCriterion("sign_sw >=", value, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwLessThan(Short value) {
            addCriterion("sign_sw <", value, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwLessThanOrEqualTo(Short value) {
            addCriterion("sign_sw <=", value, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwIn(List<Short> values) {
            addCriterion("sign_sw in", values, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwNotIn(List<Short> values) {
            addCriterion("sign_sw not in", values, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwBetween(Short value1, Short value2) {
            addCriterion("sign_sw between", value1, value2, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignSwNotBetween(Short value1, Short value2) {
            addCriterion("sign_sw not between", value1, value2, "signSw");
            return (Criteria) this;
        }

        public Criteria andSignRateIsNull() {
            addCriterion("sign_rate is null");
            return (Criteria) this;
        }

        public Criteria andSignRateIsNotNull() {
            addCriterion("sign_rate is not null");
            return (Criteria) this;
        }

        public Criteria andSignRateEqualTo(Short value) {
            addCriterion("sign_rate =", value, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateNotEqualTo(Short value) {
            addCriterion("sign_rate <>", value, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateGreaterThan(Short value) {
            addCriterion("sign_rate >", value, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateGreaterThanOrEqualTo(Short value) {
            addCriterion("sign_rate >=", value, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateLessThan(Short value) {
            addCriterion("sign_rate <", value, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateLessThanOrEqualTo(Short value) {
            addCriterion("sign_rate <=", value, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateIn(List<Short> values) {
            addCriterion("sign_rate in", values, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateNotIn(List<Short> values) {
            addCriterion("sign_rate not in", values, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateBetween(Short value1, Short value2) {
            addCriterion("sign_rate between", value1, value2, "signRate");
            return (Criteria) this;
        }

        public Criteria andSignRateNotBetween(Short value1, Short value2) {
            addCriterion("sign_rate not between", value1, value2, "signRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwIsNull() {
            addCriterion("continue_sign_sw is null");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwIsNotNull() {
            addCriterion("continue_sign_sw is not null");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwEqualTo(Short value) {
            addCriterion("continue_sign_sw =", value, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwNotEqualTo(Short value) {
            addCriterion("continue_sign_sw <>", value, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwGreaterThan(Short value) {
            addCriterion("continue_sign_sw >", value, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwGreaterThanOrEqualTo(Short value) {
            addCriterion("continue_sign_sw >=", value, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwLessThan(Short value) {
            addCriterion("continue_sign_sw <", value, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwLessThanOrEqualTo(Short value) {
            addCriterion("continue_sign_sw <=", value, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwIn(List<Short> values) {
            addCriterion("continue_sign_sw in", values, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwNotIn(List<Short> values) {
            addCriterion("continue_sign_sw not in", values, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwBetween(Short value1, Short value2) {
            addCriterion("continue_sign_sw between", value1, value2, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignSwNotBetween(Short value1, Short value2) {
            addCriterion("continue_sign_sw not between", value1, value2, "continueSignSw");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateIsNull() {
            addCriterion("continue_sign_rate is null");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateIsNotNull() {
            addCriterion("continue_sign_rate is not null");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateEqualTo(Short value) {
            addCriterion("continue_sign_rate =", value, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateNotEqualTo(Short value) {
            addCriterion("continue_sign_rate <>", value, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateGreaterThan(Short value) {
            addCriterion("continue_sign_rate >", value, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateGreaterThanOrEqualTo(Short value) {
            addCriterion("continue_sign_rate >=", value, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateLessThan(Short value) {
            addCriterion("continue_sign_rate <", value, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateLessThanOrEqualTo(Short value) {
            addCriterion("continue_sign_rate <=", value, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateIn(List<Short> values) {
            addCriterion("continue_sign_rate in", values, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateNotIn(List<Short> values) {
            addCriterion("continue_sign_rate not in", values, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateBetween(Short value1, Short value2) {
            addCriterion("continue_sign_rate between", value1, value2, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andContinueSignRateNotBetween(Short value1, Short value2) {
            addCriterion("continue_sign_rate not between", value1, value2, "continueSignRate");
            return (Criteria) this;
        }

        public Criteria andSignRuleIsNull() {
            addCriterion("sign_rule is null");
            return (Criteria) this;
        }

        public Criteria andSignRuleIsNotNull() {
            addCriterion("sign_rule is not null");
            return (Criteria) this;
        }

        public Criteria andSignRuleEqualTo(String value) {
            addCriterion("sign_rule =", value, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleNotEqualTo(String value) {
            addCriterion("sign_rule <>", value, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleGreaterThan(String value) {
            addCriterion("sign_rule >", value, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleGreaterThanOrEqualTo(String value) {
            addCriterion("sign_rule >=", value, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleLessThan(String value) {
            addCriterion("sign_rule <", value, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleLessThanOrEqualTo(String value) {
            addCriterion("sign_rule <=", value, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleLike(String value) {
            addCriterion("sign_rule like", value, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleNotLike(String value) {
            addCriterion("sign_rule not like", value, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleIn(List<String> values) {
            addCriterion("sign_rule in", values, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleNotIn(List<String> values) {
            addCriterion("sign_rule not in", values, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleBetween(String value1, String value2) {
            addCriterion("sign_rule between", value1, value2, "signRule");
            return (Criteria) this;
        }

        public Criteria andSignRuleNotBetween(String value1, String value2) {
            addCriterion("sign_rule not between", value1, value2, "signRule");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}